package com;
/*
反射Reflect：想通过反射使用一个类，必须先要获得类的class文件
1，使用类名.class获得class文件
2，通过对象名.class获得class文件
3,通过class.forname(类的全路径名称)获得class文件
 */
public class ReflectDemo {//定义一个反射测试类
    public static void main(String[] args) throws ClassNotFoundException {
        //main方法并抛出异常
        Class<Student> s1 = Student.class;
        //通过学生类类名.class获得student的class文件
        System.out.println(s1);//输出这个文件
        Class<Student> s2 = Student.class;//再次通过类名.class获得一个class文件
        System.out.println(s1==s2);//两次获得的class文件相同
        System.out.println("-------------");//分隔符
        Student s3=new Student();//通过无参数构造方法创建对象
        Class<? extends Student> s4 = s3.getClass();//通过学生类对象.class获得class文件
        System.out.println((s1==s4));//
        System.out.println("--------------");//
        Class<?> s5 = Class.forName("com.Student");//通过Class。forname获得class文件
        System.out.println(s1==s5);//


    }
}
